ot_variant_read (GVariant *variant)
{
GMemoryInputStream *ret = NULL;
+ gs_unref_bytes GBytes *bytes = NULL;
+
+ bytes = g_variant_get_data_as_bytes (variant);
+ ret = (GMemoryInputStream*)g_memory_input_stream_new ();
+ g_memory_input_stream_add_bytes (ret, bytes);
- ret = (GMemoryInputStream*)g_memory_input_stream_new_from_data (g_variant_get_data (variant),
- g_variant_get_size (variant),
- NULL);
- g_object_set_data_full ((GObject*)ret, "ot-variant-data",
- g_variant_ref (variant), (GDestroyNotify) g_variant_unref);
return (GInputStream*)ret;
}